Use case: encryption/decryption in interrupt mode ¶
Sequence diagram ¶
Code snippet ¶
|
HAL1 |
HAL2 |
|---|---|
/* Encryption */
HAL_CRYP_Encrypt_IT(&hcryp, Plaintext, PLAINTEXT_SIZE,
EncryptedText);
/* Only for GCM algorithm */
HAL_CRYPEx_AESGCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
/* Only for CCM algorithm */
HAL_CRYPEx_AESCCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
/* Decryption */
HAL_CRYP_Decrypt_IT(&hcryp,Ciphertext , PLAINTEXT_SIZE,
DecryptedText);
/* Only for GCM algorithm */
HAL_CRYPEx_AESGCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
/* Only for CCM algorithm */
HAL_CRYPEx_AESCCM_GenerateAuthTAG(&hcryp,TAG,
TIMEOUT_VALUE);
|
/* Encryption */
HAL_AES_Encrypt_IT(&haes, Plaintext, PLAINTEXT_SIZE,
EncryptedText);
/* Only for GCM algorithm */
HAL_AES_GCM_GenerateAuthTAG(&haes,TAG,
TIMEOUT_VALUE);
/* Only for CCM algorithm */
HAL_AES_CCM_GenerateAuthTAG(&haes,TAG,
TIMEOUT_VALUE);
/* Decryption */
HAL_AES_Decrypt_IT(&haes, Ciphertext, PLAINTEXT_SIZE,
DecryptedText);
/* Only for GCM algorithm */
HAL_AES_GCM_GenerateAuthTAG(&haes,TAG,
TIMEOUT_VALUE);
/* Only for CCM algorithm */
HAL_AES_CCM_GenerateAuthTAG(&haes,TAG,
TIMEOUT_VALUE);
|
Key changes ¶
Interrupt-mode APIs are renamed from
HAL_CRYP_*_ITtoHAL_AES_*_IT.Tag generation APIs are renamed to
HAL_AES_GCM_GenerateAuthTAG()andHAL_AES_CCM_GenerateAuthTAG().

